/**
 * OrderProfitRecordMapperExt
 * Copyright © 2015 - 2017
 * All rights reserved.
 * -----------------------------------
 * 2017-12-07  Created
 */
package com.lzy.product.dao;

import com.lzy.product.dtos.BaseDomain;
import com.lzy.product.dtos.statistics.DayProfitParamDto;
import com.lzy.product.dtos.statistics.DayProfitVoDto;
import com.lzy.product.dtos.statistics.OrderProfitRecordDto;
import com.lzy.product.dtos.statistics.TotalProfitVoDto;
import org.apache.ibatis.annotations.Param;

import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List;

@Resource
public interface OrderProfitRecordMapperExt extends OrderProfitRecordMapper {

    /**
     * 根据订单号查询分利记录
     *
     * @param orderId
     * @return
     */
    List<OrderProfitRecordDto> findByOrderId(Long orderId);

    /**
     * 查询分利记录列表
     *
     * @param paramDto
     * @return
     */
    List<OrderProfitRecordDto> selectList(@Param("param") OrderProfitRecordDto paramDto);

    /**
     * 获取总收益
     *
     * @param paramDto
     * @return
     */
    BigDecimal getQueryProfit(@Param("param") DayProfitParamDto paramDto);

    /**
     * 查询总收益列表
     *
     * @param paramDto
     * @return
     */
    List<TotalProfitVoDto> queryTotalProfitList(@Param("param") BaseDomain paramDto);

    /**
     * 查询业务员日收益记录
     *
     * @param paramDto
     * @return
     */
    List<DayProfitVoDto> queryDayProfitList(@Param("param") DayProfitParamDto paramDto);

    /**
     * 获取业务员总收益
     *
     * @return
     */
    BigDecimal getUserTotalProfit();

}